from pyo import *
import wx, os
s = Server().boot()


class MyFrame(wx.Frame):
    def __init__(self, parent, title, pos, size):
        wx.Frame.__init__(self, parent, id=-1, title=title, pos=pos, size=size)
        self.panel = wx.Panel(self)
        self.panel.SetBackgroundColour("#DDDDDD")
        
        ### self.texte devrait eter initialise ici, soit vide, soit avec un texte par defaut
        ### self.texte = ""
        
        ### Le texte entre dans le dialogue devrait etre affiche sur l'interface (peut-etre avec un 
        ### simple StaticText)
        
        #Play / Stop
        self.audioText = wx.StaticText(self.panel, id=-1, label="Audio", pos=(28,10), size=wx.DefaultSize)
        self.playstop = wx.ToggleButton(self.panel, id=-1, label="play / stop", pos=(10,28), size=wx.DefaultSize)
        self.playstop.Bind(wx.EVT_TOGGLEBUTTON, self.handleAudio)
        
        #Play / Stop
        self.textText = wx.StaticText(self.panel, id=-1, label="Text", pos=(28,60), size=wx.DefaultSize)
        self.onOff = wx.ToggleButton(self.panel, id=-1, label="Entrez le texte", pos=(10,78), size=wx.DefaultSize)
        self.onOff.Bind(wx.EVT_TOGGLEBUTTON, self.handleText)


            
    def handleText(self, evt):
        if evt.GetInt()==1:
            self.box=wx.TextEntryDialog(self.panel, "Texte", "Boite de Texte", "entrez le text ici", pos=(30, 30))
            if self.box.ShowModal()==wx.ID_OK:
                self.texte=self.box.GetValue()
                evt.SetInt(0) ### Pourquoi?
                

    def handleAudio(self, evt):
        if evt.GetInt()==1:
            s.start()
        else:
            s.stop()
            
    def getText(self):
        return self.texte

app = wx.PySimpleApp()


print MyFrame.getText ### trop tot pour appeler cette fonction...
mainFrame = MyFrame(None, title='accipere', pos=(1200,180), size=(600,750))
mainFrame.Show()

app.MainLoop()